package agh.rozproszony.reservations;

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface ReservationEventListener extends Remote {

    /**
     * Zdarzenie, wywolywane na obserwatorze, gdy w systemie pojawi sie nowe
     * zaproszenie (koniecznosc np. odpytania serwera o oczekujace zaproszenia
     * by odswierzyc GUI)
     *
     * @param targetUserId ID docelowego uzytkownika, do ktrego skierowane jest
     * nowe zaproszenie w systemie
     */
    public void newInvitationArrived() throws RemoteException;

    /**
     * Musi zwrocic ID aktualnie zalogowanego uzytkownika. Jezeli ID zwrocone
     * pokryje sie z docelowym ID nowego zaproszenia w systemie, to na tym
     * klinecie zostanie wywolane "newInvitationArrived"
     *
     * @return
     */
    public int getLoggedUserId() throws RemoteException;
}
